From: Eh2406 Date: Thu, 22 Feb 2018 16:37:51 +0000 (-0500) Subject: fix a missing test, this was missed in the rebase of #5063 X-Git-Tag: archive/raspbian/0.35.0-2+rpi1~3^2^2^2^2^2^2^2~22^2~2^2~88^2 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=97249ec06077503fc10a55385f41cb5773047a78;p=cargo.git fix a missing test, this was missed in the rebase of #5063 --- diff --git a/tests/rename-deps.rs b/tests/rename-deps.rs deleted file mode 100644 index f144acca2..000000000 --- a/tests/rename-deps.rs +++ /dev/null @@ -1,120 +0,0 @@ -extern crate cargo; -extern crate cargotest; -extern crate hamcrest; - -use cargotest::support::{project, execs}; -use cargotest::support::registry::Package; -use cargotest::ChannelChanger; -use hamcrest::assert_that; - -#[test] -fn gated() { - let p = project("foo") - .file("Cargo.toml", r#" - [project] - name = "foo" - version = "0.0.1" - authors = [] - - [dependencies] - bar = { package = "foo", version = "0.1" } - "#) - .file("src/lib.rs", "") - .build(); - - assert_that(p.cargo("build").masquerade_as_nightly_cargo(), - execs().with_status(101) - .with_stderr("\ -error: failed to parse manifest at `[..]` - -Caused by: - feature `rename-dependency` is required - -consider adding `cargo-features = [\"rename-dependency\"]` to the manifest -")); - - let p = project("bar") - .file("Cargo.toml", r#" - [project] - name = "foo" - version = "0.0.1" - authors = [] - - [dependencies] - bar = { version = "0.1", package = "baz" } - "#) - .file("src/lib.rs", "") - .build(); - - assert_that(p.cargo("build").masquerade_as_nightly_cargo(), - execs().with_status(101) - .with_stderr("\ -error: failed to parse manifest at `[..]` - -Caused by: - feature `rename-dependency` is required - -consider adding `cargo-features = [\"rename-dependency\"]` to the manifest -")); -} - -#[test] -fn rename_dependency() { - Package::new("bar", "0.1.0").publish(); - Package::new("bar", "0.2.0").publish(); - - let p = project("foo") - .file("Cargo.toml", r#" - cargo-features = ["rename-dependency"] - - [project] - name = "foo" - version = "0.0.1" - authors = [] - - [dependencies] - bar = { version = "0.1.0" } - baz = { version = "0.2.0", package = "bar" } - "#) - .file("src/lib.rs", " - extern crate bar; - extern crate baz; - ") - .build(); - - assert_that(p.cargo("build").masquerade_as_nightly_cargo(), - execs().with_status(0)); -} - -#[test] -fn rename_with_different_names() { - let p = project("foo") - .file("Cargo.toml", r#" - cargo-features = ["rename-dependency"] - - [project] - name = "foo" - version = "0.0.1" - authors = [] - - [dependencies] - baz = { path = "bar", package = "bar" } - "#) - .file("src/lib.rs", " - extern crate baz; - ") - .file("bar/Cargo.toml", r#" - [project] - name = "bar" - version = "0.0.1" - authors = [] - - [lib] - name = "random_name" - "#) - .file("bar/src/lib.rs", "") - .build(); - - assert_that(p.cargo("build").masquerade_as_nightly_cargo(), - execs().with_status(0)); -} diff --git a/tests/testsuite/lib.rs b/tests/testsuite/lib.rs index 3a2e33b11..94f6e3f8c 100644 --- a/tests/testsuite/lib.rs +++ b/tests/testsuite/lib.rs @@ -65,6 +65,7 @@ mod profiles; mod publish; mod read_manifest; mod registry; +mod rename_deps; mod required_features; mod resolve; mod run; diff --git a/tests/testsuite/rename_deps.rs b/tests/testsuite/rename_deps.rs new file mode 100644 index 000000000..f144acca2 --- /dev/null +++ b/tests/testsuite/rename_deps.rs @@ -0,0 +1,120 @@ +extern crate cargo; +extern crate cargotest; +extern crate hamcrest; + +use cargotest::support::{project, execs}; +use cargotest::support::registry::Package; +use cargotest::ChannelChanger; +use hamcrest::assert_that; + +#[test] +fn gated() { + let p = project("foo") + .file("Cargo.toml", r#" + [project] + name = "foo" + version = "0.0.1" + authors = [] + + [dependencies] + bar = { package = "foo", version = "0.1" } + "#) + .file("src/lib.rs", "") + .build(); + + assert_that(p.cargo("build").masquerade_as_nightly_cargo(), + execs().with_status(101) + .with_stderr("\ +error: failed to parse manifest at `[..]` + +Caused by: + feature `rename-dependency` is required + +consider adding `cargo-features = [\"rename-dependency\"]` to the manifest +")); + + let p = project("bar") + .file("Cargo.toml", r#" + [project] + name = "foo" + version = "0.0.1" + authors = [] + + [dependencies] + bar = { version = "0.1", package = "baz" } + "#) + .file("src/lib.rs", "") + .build(); + + assert_that(p.cargo("build").masquerade_as_nightly_cargo(), + execs().with_status(101) + .with_stderr("\ +error: failed to parse manifest at `[..]` + +Caused by: + feature `rename-dependency` is required + +consider adding `cargo-features = [\"rename-dependency\"]` to the manifest +")); +} + +#[test] +fn rename_dependency() { + Package::new("bar", "0.1.0").publish(); + Package::new("bar", "0.2.0").publish(); + + let p = project("foo") + .file("Cargo.toml", r#" + cargo-features = ["rename-dependency"] + + [project] + name = "foo" + version = "0.0.1" + authors = [] + + [dependencies] + bar = { version = "0.1.0" } + baz = { version = "0.2.0", package = "bar" } + "#) + .file("src/lib.rs", " + extern crate bar; + extern crate baz; + ") + .build(); + + assert_that(p.cargo("build").masquerade_as_nightly_cargo(), + execs().with_status(0)); +} + +#[test] +fn rename_with_different_names() { + let p = project("foo") + .file("Cargo.toml", r#" + cargo-features = ["rename-dependency"] + + [project] + name = "foo" + version = "0.0.1" + authors = [] + + [dependencies] + baz = { path = "bar", package = "bar" } + "#) + .file("src/lib.rs", " + extern crate baz; + ") + .file("bar/Cargo.toml", r#" + [project] + name = "bar" + version = "0.0.1" + authors = [] + + [lib] + name = "random_name" + "#) + .file("bar/src/lib.rs", "") + .build(); + + assert_that(p.cargo("build").masquerade_as_nightly_cargo(), + execs().with_status(0)); +}